1. Field of the Invention
The present invention relates to an error-correcting code, and more specifically to a communications system using an error-correcting code, and an encoding device and a decoding device used in the communications system.
2. Description of the Related Art
In a new generation communications system for realizing multimedia communications, high-speed and high-quality data transmission is required. Especially, in a mobile communications system frequently incurring transmission errors, research and development are actively performed to reduce the errors.
An error-correcting code is well-known as an aspect of the technology of transmitting data with high quality. The error-correcting code refers to the technology of, for example, detecting or correcting an error generated in a transmission path.
FIG. 1 shows an example of the configuration of an existing encoding device using an error-correcting code. An encoding device 10 includes a plurality of encoding units (an encoding unit 11a and an encoding unit 11b in FIG. 1) arranged in parallel to each other. Here, a code obtained from a plurality of encoding units arranged in parallel to each other is referred to as xe2x80x9cparallel concatenation codesxe2x80x9d or xe2x80x9cturbo codesxe2x80x9d. The parallel concatenation code has attracted much attention as the technology for realizing a high-speed and high-quality communications system.
The encoding device 10 outputs an encoded data sequence obtained by adding parity bits to source data when the source data is input. That is, the encoding device 10 generates a data sequence x and a parity data sequence y to correct the data sequence x for input source data u, and then multiplexes and outputs them. An output sequence z is the encoded data of the source data u. The encoding device has the configuration of performing an encoding operation in N bit units, and the source data u is a data sequence of N bits.
The input source data u is provided for a multiplexing unit 14 as the data sequence x to be transmitted. At the same time, the source data u is provided for the encoding unit 11a, and also provided for the encoding unit 11b through an interleaver 12. The interleaver 12 temporarily stores the input source data u of N bits, and then reads and outputs the stored source data u in an order different from the input order. That is, the interleaver 12 rearranges the order of the data elements forming the source data u. Thus, the source data u is randomized. The output of the interleaver 12 is provided as a data sequence v for the encoding unit 11b. As a result, the encoding units 11a and 11b receives different data sequence from each other.
The encoding unit 11a generates a parity data sequence y1 for the received source data u, and the encoding unit 11b generates a parity data sequence y2 for the received data sequence v. Each of the encoding units 11a and 11b performs a convolutional encoding process.
A puncturing unit 13 selects the output of the encoding units 11a and 11b based on a predetermined selection pattern (puncturing pattern). The puncturing unit 13 normally selects 1 bit each from the output of the encoding units 11a and 11b alternately. In this case, the parity data sequence y output from the puncturing unit 13 includes the first bit of the sequence y1, the second bit of the sequence y2, the third bit of the sequence y1, the fourth bit of the sequence y2, and so forth. The encoding device 10 can also use a desired selection pattern depending on a requested encoding rate.
The multiplexing unit 14 multiplexes the data sequence x and the parity data sequence y for correction of the data sequence x, and outputs the result as the data sequence z.
The encoding device shown in FIG. 1 is disclosed in detail by the U.S. Pat. No. 5,446,747.
FIG. 2 shows the characteristic of a code. xe2x80x9cBERxe2x80x9d refers to a bit error rate. xe2x80x9cEb/Noxe2x80x9d refers to the energy per bit for specific noise.
The characteristic of a code is normally evaluated by the xe2x80x9cenergy per bit required to obtain a specific bit error ratexe2x80x9d. For example, an excellent code requires less energy per bit to obtain a specified bit error rate. In other word, an excellent code provides a lower bit error rate when a signal is transmitted with specified energy per bit.
A line 1 shows a result of the simulation of the characteristic when the encoding device shown in FIG. 1 is used. The characteristic is much more excellent than that obtained when the conventional code other than the parallel concatenation code is used.
However, it is known that an error floor phenomenon occurs when a parallel concatenation code is used. The error floor phenomenon means a phenomenon that the tilt of the bit error rate to an xe2x80x9cEb/Noxe2x80x9d becomes smaller when the xe2x80x9cEb/Noxe2x80x9d increases. That is, the bit error rate basically lowers when the xe2x80x9cEb/Noxe2x80x9d increases, but the bit error rate hardly changes when the error floor phenomenon occurs although the xe2x80x9cEb/Noxe2x80x9d increases. For example, in the example shown in FIG. 2, it is desired that the line 1 indicates the characteristic as shown by broken lines. However, the error floor phenomenon practically occurs, and the characteristic shown in the solid line is obtained.
It is estimated that the error floor phenomenon occurs due to the shortest distance.
As a technology for suppressing the error floor phenomenon, a method of increasing the number of encoding units provided in parallel into three or more as shown in FIG. 3 is known. This technology is often referred to as a xe2x80x9cmulti-dimensional turbo codesxe2x80x9d.
In FIG. 2, a line 2 shows a result of the simulation of the characteristic when the multi-dimensional turbo code is used. Using the multi-dimensional turbo code, no error floor phenomenon occurs at least in the simulation. Therefore, a smaller xe2x80x9cEb/Noxe2x80x9d is required to obtain high transmission quality. In the example shown in FIG. 2, when a multi-dimensional turbo code is used, the energy required to obtain high transmission quality of the bit error rate of 10xe2x88x925 or lower is less than the energy required when the encoding device shown in FIG. 1 is used.
However, when a multi-dimensional turbo code is used, the bit error rate sharply deteriorates when the xe2x80x9cEb/Noxe2x80x9d decreases. In the example shown in FIG. 2, when the xe2x80x9cEb/Noxe2x80x9d is equal to xe2x80x9c1xe2x80x9d or smaller, the characteristic obtained when the multi-dimensional turbo code is used is inferior to the characteristic obtained when the encoding device shown in FIG. 1 is used.
In addition, when the multi-dimensional turbo code is used, the configuration of a decoding device becomes complicated. That is, the decoding device basically requires decoding units which are to be equal in number to the encoding units provided for the encoding device. Therefore, when the number of the encoding units provided in parallel increases, the number of the decoding units provided for the decoding device increases correspondingly. Therefore, the multi-dimensional turbo code prevents the realization of a smaller and cost-saving decoding device.
Thus, in the conventional technology, a encoding-decoding system cannot successfully improve the transmission characteristic with a smaller and cost-saving decoding device realized.
The present invention aims at providing an encoding-decoding system capable of obtaining an excellent transmission characteristic without a complicated configuration of a decoding device.
The encoding device according to the present invention includes a first encoding unit, a plurality of randomizing units, a second encoding unit, and an output unit. The first encoding unit encodes source data or a data sequence obtained by randomizing the source data. The plurality of randomizing units generate data sequence different from each other by randomizing the source data. The second encoding unit encodes the output from the plurality of the randomizing units. The output unit outputs the source data, and the parity data obtained based on the output from the first and second encoding units.
The first and second encoding units generates a parallel concatenation code. The parity data is generated based on the output of the first and second encoding units, and the output of the plurality of randomizing units is provided for the second encoding unit. That is, the parity data is affected by randomizing results of the plurality of different randomizing units. Therefore, the error floor phenomenon, that is, one of the problems with the parallel concatenation code, can be suppressed.
The decoding device generally includes decoding elements corresponding to encoding elements in the encoding device. Therefore, if the number of encoding elements increases in the encoding device, then the number of decoding elements also increases in the decoding device. However, the encoding device according to the present invention is provided with one second encoding unit for a plurality of randomizing units. That is, even if the number of randomizing units increases, the number of the second encoding unit remains unchanged. Therefore, the error floor phenomenon can be suppressed without complicating the configuration of the decoding device.